#!/bin/bash
###
# @Author: jcoo
# @Date: 2024-03-28 21:01:05
# @LastEditTime: 2024-03-28 21:01:11
# @LastEditors: jcoo
# @Description:
###
# https://docs.docker.com/engine/install/centos/

# 卸载已安装的Docker
sudo dnf remove docker \
  docker-client \
  docker-client-latest \
  docker-common \
  docker-latest \
  docker-latest-logrotate \
  docker-logrotate \
  docker-engine

# 使用 rpm 存储库安装
# 设置存储库软件源  网络原因这里使用阿里云的Docker源
sudo dnf install -y yum-utils
#sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装 Docker Engine, containerd, and Docker Compose:
# 此命令安装 Docker，但不会启动 Docker。它还会创建一个组docker ，但是，默认情况下它不会将任何用户添加到该组。
# 安装最新版本
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 安装指定版本
## 首先列出存储库中的可用版本
# dnf  list docker-ce --showduplicates | sort -r
##  返回的列表取决于启用了哪些软件库，并且特定于您的 CentOS 版本（在此示例中以后缀表示 .el8 ）
## 按其完全限定的软件包名称安装特定版本，该名称是软件包名称 （ ） 加上版本字符串（第 2 列），用连字符 （ docker-ce ） 分隔 - 。例如， docker-ce-3:24.0.0-1.el8
## sudo dnf  install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin

# 启动 Docker
# sudo systemctl start docker

# 通过运行 hello-world 映像来验证 Docker 引擎安装是否成功。
# sudo docker run hello-world

# 设置docker 开机自启
sudo systemctl enable docker
sudo systemctl daemon-reload
